
<!DOCTYPE html>
<html lang="en" class="loading">
<head><meta name="generator" content="Hexo 3.9.0">
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>kyralo</title>
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
    <meta name="google" content="notranslate">
    <meta name="keywords" content="kyralo,"> 
    
    <meta name="author" content="kyralo"> 
    
    <link rel="icon" href="/img/favicon.ico"> 
    <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.css">
    <link rel="stylesheet" href="/css/diaspora.css">
    <!-- <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> -->
    <script>
         (adsbygoogle = window.adsbygoogle || []).push({
              google_ad_client: "ca-pub-8691406134231910",
              enable_page_level_ads: true
         });
    </script>
    <!-- <script async custom-element="amp-auto-ads"
        src="https://cdn.ampproject.org/v0/amp-auto-ads-0.1.js">
    </script> -->
</head>
</html>
<body class="loading">
    <span id="config-title" style="display:none">kyralo</span>
    <div id="loader"></div>
    <div class="nav">
    <ul id="menu-menu" class="menu">
        
        <li class="pview menu-item menu-item-type-post_type menu-item-object-page">
            <a href="/categories/" title="categories" target="_blank" rel="noopener">categories</a>
        </li>
        
        <li class="pview menu-item menu-item-type-post_type menu-item-object-page">
            <a href="/tags/" title="tags" target="_blank" rel="noopener">tags</a>
        </li>
        
        <li class="pview menu-item menu-item-type-post_type menu-item-object-page">
            <a href="/archives/" title="archives" target="_blank" rel="noopener">archives</a>
        </li>
        
        <li class="pview menu-item menu-item-type-post_type menu-item-object-page">
            <a href="/links/" title="links" target="_blank" rel="noopener">links</a>
        </li>
        
        <li class="pview menu-item menu-item-type-post_type menu-item-object-page">
            <a href="/about/" title="about" target="_blank" rel="noopener">about</a>
        </li>
        
        <li class="pview menu-item menu-item-type-post_type menu-item-object-page">
            <a href="/./atom.xml" title="rss" target="_blank" rel="noopener">rss</a>
        </li>
        
    </ul>
</div>

<div id="container">
    
<div id="screen">
    <div id="mark">
        <div class="layer" data-depth="0.4">
            <img src="http://cdn.kyralo.online/welcome-cover.jpg" id="cover" crossorigin="anonymous" width="1920" height="1080">
        </div>
    </div>
    <div id="vibrant">
        <svg viewBox="0 0 2880 1620" height="100%" preserveAspectRatio="xMaxYMax slice">
            <polygon opacity="0.7" points="2000,1620 0,1620 0,0 600,0 "/>
        </svg>
        <div></div>
    </div>
    <div id="header">
        <div>
            <a class="image-logo" href="/"></a>
            <div class="icon-menu switchmenu"></div>
        </div>
    </div>
    
    <div id="post0">
        <p>十月 13, 2019</p>
        <h2><a href="/2019/10/13/Netty的组件与设计/" title="Netty的组件与设计" class="posttitle">Netty的组件与设计</a></h2>
        <p class="summary">Channel,EventLoop,ChannelFuture
Channel —– Socket;
EventL...</p>
    </div>
    
</div>

    <div id="primary">
        
<div class="post">
    <a href="/2019/10/13/Netty的组件与设计/" title="Netty的组件与设计">
        <img src="http://cdn.kyralo.online/blog-15.jpg" class="cover" width="680" height="440">
    </a>
    <div class="else">
        <p>十月 13, 2019</p>
        <h3><a href="/2019/10/13/Netty的组件与设计/" title="Netty的组件与设计" class="posttitle">Netty的组件与设计</a></h3>
        <p>Channel,EventLoop,ChannelFuture
Channel —– Socket;
EventLoop —– 控制流,多线程,并发;
C...</p>
    </div>
</div>


<div class="post">
    <a href="/2019/09/17/Golang-Xorm框架笔记/" title="Go Xorm框架笔记">
        <img src="http://cdn.kyralo.online/blog-14.jpg" class="cover" width="680" height="440">
    </a>
    <div class="else">
        <p>九月 17, 2019</p>
        <h3><a href="/2019/09/17/Golang-Xorm框架笔记/" title="Go Xorm框架笔记" class="posttitle">Go Xorm框架笔记</a></h3>
        <p>一、创建engineengine, err := xorm.NewEngine(driverName, dataSourceName)
上述代码创建了一个...</p>
    </div>
</div>


<div class="post">
    <a href="/2019/09/03/Docker常见命令/" title="Docker常见命令">
        <img src="http://cdn.kyralo.online/blog-13.jpg" class="cover" width="680" height="440">
    </a>
    <div class="else">
        <p>九月 03, 2019</p>
        <h3><a href="/2019/09/03/Docker常见命令/" title="Docker常见命令" class="posttitle">Docker常见命令</a></h3>
        <p>容器相关操作创建一个容器但是不启动它docker create创建并启动一个容器docker run停止容器运行，发送信号SIGTERMdocker st...</p>
    </div>
</div>


<div class="post">
    <a href="/2019/08/18/Springcloud学习笔记-六/" title="Springcloud学习笔记(六)">
        <img src="http://cdn.kyralo.online/blog-12.jpg" class="cover" width="680" height="440">
    </a>
    <div class="else">
        <p>八月 18, 2019</p>
        <h3><a href="/2019/08/18/Springcloud学习笔记-六/" title="Springcloud学习笔记(六)" class="posttitle">Springcloud学习笔记(六)</a></h3>
        <p>六、zuul路由网关1、概述Zuul包含了对请求的==路由和过滤==的主要功能：

路由功能
主要负责将外部请求转发到具体的微服务上，是实现外部访问入口的...</p>
    </div>
</div>


<div class="post">
    <a href="/2019/08/18/Springcloud学习笔记-五/" title="Springcloud学习笔记(五)">
        <img src="http://cdn.kyralo.online/blog-11.jpg" class="cover" width="680" height="440">
    </a>
    <div class="else">
        <p>八月 18, 2019</p>
        <h3><a href="/2019/08/18/Springcloud学习笔记-五/" title="Springcloud学习笔记(五)" class="posttitle">Springcloud学习笔记(五)</a></h3>
        <p>四、Feign负载均衡1、概述官网地址：http://cloud.spring.io/spring-cloud-openfeign/single/spri...</p>
    </div>
</div>


<div class="post">
    <a href="/2019/08/17/Springcloud学习笔记-四/" title="Springcloud学习笔记(四)">
        <img src="http://cdn.kyralo.online/blog-10.jpg" class="cover" width="680" height="440">
    </a>
    <div class="else">
        <p>八月 17, 2019</p>
        <h3><a href="/2019/08/17/Springcloud学习笔记-四/" title="Springcloud学习笔记(四)" class="posttitle">Springcloud学习笔记(四)</a></h3>
        <p>三、Ribbon负载均衡1、概述基于Netflix ribbon实现的一套 ==客户端、负载均衡的工具==
重要功能是提供==客户端的软件负载均衡算法==...</p>
    </div>
</div>


<div class="post">
    <a href="/2019/08/17/Springcloud学习笔记-三/" title="Springcloud学习笔记(三)">
        <img src="http://cdn.kyralo.online/blog-9.jpg" class="cover" width="680" height="440">
    </a>
    <div class="else">
        <p>八月 17, 2019</p>
        <h3><a href="/2019/08/17/Springcloud学习笔记-三/" title="Springcloud学习笔记(三)" class="posttitle">Springcloud学习笔记(三)</a></h3>
        <p>5、Eureka集群配置1、新建7002、7003Eureka服务项目复制7001的pom、yml文件2、修改域名映射，修改host文件==必须修改，否则...</p>
    </div>
</div>


<div class="post">
    <a href="/2019/08/17/SpringCloud学习笔记-二/" title="Springcloud学习笔记(二)">
        <img src="http://cdn.kyralo.online/blog-8.jpg" class="cover" width="680" height="440">
    </a>
    <div class="else">
        <p>八月 17, 2019</p>
        <h3><a href="/2019/08/17/SpringCloud学习笔记-二/" title="Springcloud学习笔记(二)" class="posttitle">Springcloud学习笔记(二)</a></h3>
        <p>二、Eureka配置

新建springcloud-study-euraka-7001工程，导入相关依赖

pom文件配置
123456789101112...</p>
    </div>
</div>


<div class="post">
    <a href="/2019/08/17/SpringCloud学习笔记-一/" title="Springcloud学习笔记(一)">
        <img src="http://cdn.kyralo.online/blog-7.jpg" class="cover" width="680" height="440">
    </a>
    <div class="else">
        <p>八月 17, 2019</p>
        <h3><a href="/2019/08/17/SpringCloud学习笔记-一/" title="Springcloud学习笔记(一)" class="posttitle">Springcloud学习笔记(一)</a></h3>
        <p>一、工程环境搭建spring cloud版本：Dalston.SR1
spring boot版本：1.5.19.RELEASE
1、父工程搭建
新建spr...</p>
    </div>
</div>


<div class="post">
    <a href="/2019/08/14/Docker安装Mongodb/" title="Docker部署安装MongoDB">
        <img src="http://cdn.kyralo.online/blog-6.jpg" class="cover" width="680" height="440">
    </a>
    <div class="else">
        <p>八月 14, 2019</p>
        <h3><a href="/2019/08/14/Docker安装Mongodb/" title="Docker部署安装MongoDB" class="posttitle">Docker部署安装MongoDB</a></h3>
        <p>下载镜像docker pull registry.docker-cn.com/library/mongo创建本地数据文件夹mkdir /data/mong...</p>
    </div>
</div>


    </div>
    
    <div id="pager"><a href="/page/3/" class="more">加载更多</a></div>
    
    <footer id="colophon" class="site-footer" role="contentinfo" style="text-align: center; margin-top: 50px;">
	  <div class="site-info">
	    <div class="footertext">
	      <div style="color: #666666;">&copy 2020 kyralo <a style="color: #66696F" href="http://www.beian.miit.gov.cn/" onmouseover="javascript:this.style.color='#ffa831';" onmouseout="javascript:this.style.color='#66696F';">赣ICP备19009994号</a></div>
	    </div>
	    <div>
		    <p id="copyright" style="color: #66696F">
		        Powered by <a style="color: #66696F" href="http://hexo.io/" onmouseover="javascript:this.style.color='#ffa831';" onmouseout="javascript:this.style.color='#66696F';">Hexo</a>
		        Theme <a style="color: #66696F" href="https://github.com/Fechin/hexo-theme-diaspora" onmouseover="javascript:this.style.color='#ffa831';" onmouseout="javascript:this.style.color='#66696F';">Diaspora</a>
		        by Fechin
		    </p>
	    </div>
	    <div style="display:flex;justify-content: center;">
	    	<div>	    	
	    		<a href="https://www.upyun.com/">
	    			<img style="width: 100px;" src="http://cdn.kyralo.online/youpai_logo.png" alt="又拍云"/>
	    		</a>
	    	</div>
	    </div>
	</footer>
</div>
<div id="preview"></div>



</body>
<script src="//cdn.jsdelivr.net/npm/gitalk@1/dist/gitalk.min.js"></script>
<script src="//lib.baomitu.com/jquery/1.8.3/jquery.min.js"></script>
<script src="/js/plugin.js"></script>
<script src="/js/diaspora.js"></script>
<link rel="stylesheet" href="/photoswipe/photoswipe.css">
<link rel="stylesheet" href="/photoswipe/default-skin/default-skin.css">
<script src="/photoswipe/photoswipe.min.js"></script>
<script src="/photoswipe/photoswipe-ui-default.min.js"></script>

<!-- Root element of PhotoSwipe. Must have class pswp. -->
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">
    <!-- Background of PhotoSwipe. 
         It's a separate element as animating opacity is faster than rgba(). -->
    <div class="pswp__bg"></div>
    <!-- Slides wrapper with overflow:hidden. -->
    <div class="pswp__scroll-wrap">
        <!-- Container that holds slides. 
            PhotoSwipe keeps only 3 of them in the DOM to save memory.
            Don't modify these 3 pswp__item elements, data is added later on. -->
        <div class="pswp__container">
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
        </div>
        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
        <div class="pswp__ui pswp__ui--hidden">
            <div class="pswp__top-bar">
                <!--  Controls are self-explanatory. Order can be changed. -->
                <div class="pswp__counter"></div>
                <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>
                <button class="pswp__button pswp__button--share" title="Share"></button>
                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>
                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>
                <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
                <!-- element will get class pswp__preloader--active when preloader is running -->
                <div class="pswp__preloader">
                    <div class="pswp__preloader__icn">
                      <div class="pswp__preloader__cut">
                        <div class="pswp__preloader__donut"></div>
                      </div>
                    </div>
                </div>
            </div>
            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
                <div class="pswp__share-tooltip"></div> 
            </div>
            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
            </button>
            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
            </button>
            <div class="pswp__caption">
                <div class="pswp__caption__center"></div>
            </div>
        </div>
    </div>
</div>



<!-- Google Analytics -->
<script type="text/javascript">
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-146789315-1', 'auto');
  ga('send', 'pageview');
</script>
<!-- End Google Analytics -->


<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/aplayer@1.10/dist/APlayer.min.css">
<script src="https://cdn.jsdelivr.net/npm/aplayer@1.10/dist/APlayer.min.js"></script>
<style>
  .aplayer .aplayer-lrc {
    height: 35px;
  }
  .aplayer .aplayer-lrc p{
    font-size: 16px;
    font-weight: 700;
    line-height: 18px !important;
  }
  .aplayer .aplayer-lrc p.aplayer-lrc-current{
    color: #FF1493;
  }
  .aplayer.aplayer-narrow .aplayer-body{
    left: -66px !important;
  }
  .aplayer.aplayer-fixed .aplayer-lrc {
    display: none;
  }
  .aplayer .aplayer-lrc.aplayer-lrc-hide {
      display:none !important;
  }
  .aplayer.aplayer-fixed .lrc-show {
    display: block;
    background: rgba(255, 255, 255, 0.8);
  }
</style>
<div class="aplayer"

    data-id="2725346449"

    data-server="netease"

    data-type="playlist"

    data-fixed="true"

    data-autoplay="false"

    data-loop="all"

    data-order="random"

    data-preload="auto"

    data-volume="0.7"

    data-mutex="true"

</div>
<script src="https://cdn.jsdelivr.net/npm/meting@1.2/dist/Meting.min.js"></script>
<script>
  $(function(){
    $('body').on('click', '.aplayer', function(){
      if($('.aplayer-button').hasClass('aplayer-play')) {
        $('.aplayer-lrc').removeClass('lrc-show');
      } else {
        $('.aplayer-lrc').addClass('lrc-show');
      }
    })
  });
</script>
</html>
